home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.06 Jun 88 / serial demo / Serial.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-05-02  |  1.6 KB  |  75 lines  |  [TEXT/PJMM]

  1. PROGRAM Serial_Demo;
  2.  
  3.  
  4. {  Pascal source:  Serial.Pas}
  5. {  Resources:      Serial.R}
  6.  
  7. {$R-}
  8. {$I-}
  9.     USES
  10.         Globals, GPLib, HandleChars, initprogram, Menus, Misc;
  11.  
  12.     PROCEDURE mainloop;
  13.     BEGIN
  14.         SystemTask;
  15.         Get_comm_input;
  16.         IF GetNextEvent(everyEvent, myEvent) THEN
  17.             CASE myEvent.what OF
  18.                 mouseDown : 
  19.                     BEGIN
  20.                         code := FindWindow(myEvent.where, whichWindow);
  21.                         CASE code OF
  22.                             inMenuBar : 
  23.                                 DoCommand(MenuSelect(myEvent.where));
  24.                             inSysWindow : 
  25.                                 SystemClick(myEvent, whichWindow);
  26.                             inDrag : 
  27.                                 IF whichWindow <> FrontWindow THEN
  28.                                     SelectNewWindow
  29.                                 ELSE
  30.                                     DragWindow(whichWindow, myEvent.where, dragRect);
  31.  
  32.                             inContent : 
  33.                                 IF whichWindow <> FrontWindow THEN
  34.                                     SelectNewWindow;
  35.                         END;{ of code case }
  36.                     END; { of mouseDown }
  37.  
  38.                 keyDown, autoKey : 
  39.                     Handle_keys(chr(LoWord(myEvent.message)));
  40.  
  41.                 activateEvt : 
  42.                     BEGIN
  43.                         whichWindow := WindowPtr(myEvent.message);
  44.                         IF ODD(myEvent.modifiers) THEN
  45.                             SetPort(whichWindow);
  46.                     END; { of activateEvt }
  47.  
  48.                 updateEvt : 
  49.                     BEGIN
  50.                         GetPort(savePort);
  51.                         whichWindow := WindowPtr(myEvent.message);
  52.                         SetPort(whichWindow);
  53.                         BeginUpdate(whichWindow);
  54.                         EndUpdate(whichWindow);
  55.                         SetPort(savePort);
  56.                     END { of updateEvt }
  57.             END { of event case }
  58.     END;
  59.  
  60. BEGIN { main program }
  61.     initall;
  62.     UnloadSeg(@initall);
  63.     newWindows;                { open the Printer window - B - first }
  64.     rowB := row;
  65.     columnB := column;
  66.     WindowB := theWindow;
  67.     newWindows;                { open the modem window -A}
  68.     rowA := row;
  69.     columnA := column;
  70.     WindowA := theWindow;
  71.     RSerBuf(outrefnumA);
  72.     REPEAT
  73.         mainloop;
  74.     UNTIL doneFlag
  75. END.